Переход к компьютерному зрению
Сегодня мы переходим от работы с простыми структурированными данными с помощью базовых линейных слоев к решению задач высокоразмерных изображений. Одно цветное изображение вносит значительную сложность, которую стандартные архитектуры не могут эффективно обрабатывать. Глубокое обучение для задач компьютерного зрения требует специализированного подхода: сверточная нейронная сеть (CNN).
1. Почему полностью связанные сети (FCN) не работают
В полносвязной сети каждый пиксель входных данных должен быть соединён с каждым нейроном последующего слоя. Для изображений высокого разрешения это приводит к взрывному росту вычислительных затрат, делая обучение невозможным, а обобщение — плохим из-за экстремального переобучения.
- Размер входных данных:Стандартное изображение размером $224 \times 224$ в формате RGB даёт $150\,528$ признаков на входе ($224 \times 224 \times 3$).
- Размер скрытого слоя:Если первый скрытый слой использует 1024 нейрона.
- Общее количество параметров (первый слой):Примерно $154$ миллионов весов ($150\,528 \times 1024$) только для первого блока соединений, что требует огромного объёма памяти и времени вычислений.
Решение с помощью сверточных сетей
Сверточные сети решают проблему масштабирования полносвязных сетей, используя пространственную структуру изображений. Они выявляют паттерны (например, края или изгибы), применяя маленькие фильтры, что снижает количество параметров на порядки и повышает устойчивость модели.
ТЕРМИНАЛbash — model-env
> Готово. Нажмите «Запустить», чтобы выполнить.
>
ИНСПЕКТОР ЭФФЕКТИВНОСТИ ПАРАМЕТРОВВ реальном времени
Запустите сравнение, чтобы визуализировать количество параметров.
Вопрос 1
Какова основная выгода использования локальных областей восприятияв сверточных сетях?
Вопрос 2
Если фильтр размером $3 \times 3$ применяется ко всему изображению, то какая ключевая концепция CNN используется?
Вопрос 3
Какой компонент сверточной сети отвечает за постепенное уменьшение пространственных размеров (ширины и высоты) карт признаков?
Вызов: определение ключевых компонентов CNN
Связать механизмы CNN с их функциональными преимуществами.
Нам нужно создать модель компьютерного зрения, которая высокоэффективна по количеству параметров и может распознавать объект даже при небольшом смещении его положения на изображении.
Шаг 1
Какой механизм гарантирует, что сеть может распознать особенность (например, диагональную линию), независимо от её положения в кадре?
Решение:
Общие веса. Используя один и тот же фильтр во всех местах, сеть учится быть инвариантной к сдвигам.
Общие веса. Используя один и тот же фильтр во всех местах, сеть учится быть инвариантной к сдвигам.
Шаг 2
Какой архитектурный выбор позволяет CNN обнаруживать признаки с меньшим количеством параметров, чем полносвязная сеть?
Решение:
Локальные области восприятия (или разреженная связность). Вместо подключения ко всем пикселям каждый нейрон подключается только к небольшой локальной области входных данных.
Локальные области восприятия (или разреженная связность). Вместо подключения ко всем пикселям каждый нейрон подключается только к небольшой локальной области входных данных.
Шаг 3
Как архитектура CNN приводит к иерархическому обучению признаков (например, края → углы → объекты)?
Решение:
Сложенные слои. Ранние слои учат простые особенности (края) с помощью свёртки. Более глубокие слои комбинируют результаты предыдущих слоёв, образуя сложные, абстрактные признаки (объекты).
Сложенные слои. Ранние слои учат простые особенности (края) с помощью свёртки. Более глубокие слои комбинируют результаты предыдущих слоёв, образуя сложные, абстрактные признаки (объекты).